﻿
using System.Windows;

using Point = Aliphant.Datas.Point;
using Rect = Aliphant.Datas.Rect;

namespace Aliphant.Interface.Form
{
    public interface IWallpaper
    {
        /// <summary>
        /// 取消设置壁纸
        /// </summary>
        /// <param name="window"></param>
        /// <returns></returns>
        bool TopWindow(Window window);

        /// <summary>
        /// 将窗口插入图标层下层
        /// </summary>
        /// <param name="window">窗体</param>
        /// <returns></returns>
        bool SetWallpaper(Window window);

        /// <summary>
        /// 设置静态壁纸
        /// </summary>
        /// <param name="path">壁纸路径，bmp格式</param>
        void SetWallpaper(string path);

        /// <summary>
        /// 激活窗口
        /// </summary>
        /// <param name="window">窗体</param>
        /// <returns></returns>
        bool GetForce(Window window);

        /// <summary>
        /// 获取鼠标坐标
        /// </summary>
        /// <param name="point">坐标</param>
        void DoGetCursorPos(out Point point);

        /// <summary>
        /// 设置鼠标坐标
        /// </summary>
        /// <param name="x"></param>
        /// <param name="y"></param>
        void DoSetCursorPos(int x, int y);

        /// <summary>
        /// 获取窗口坐标，相对于屏幕左上角
        /// </summary>
        /// <param name="window"></param>
        /// <param name="rect"></param>
        void GetWindowPos(Window window, out Rect rect);
    }
}
